【技术视界】第13期:希捷硬盘修复P表实现数据恢复的电子取证方法研究
本期,数据恢复四川省重点实验室科研人员介绍一种关于希捷硬盘通过修改P表错误缺陷记录实现数据恢复的方法,这种技术虽然增加了对P表的条目编辑修改校验流程,但在数据恢复的整体流程中,减少了恢复时间、增加了成功率,可助力一线取证人员快速调取希捷硬盘的重要线索。
希捷(Seagate Technology Cor)成立于1979年,是目前全球最大的硬盘、磁盘和读写磁头制造商,总部位于美国加州司各特谷市。希捷在设计、制造和销售硬盘领域居全球领先地位,提供用于企业、台式电脑、移动设备和消费电子的产品。 2016年2月中国的硬盘市场上,希捷以50.12%的市场关注比例领跑品牌榜(图1),在十大热门产品中,希捷占有六个位置。
【图1:希捷硬盘品牌关注度位居第一(图片来源于网络)】
在电子取证过程中,一线取证人员很可能会遇到希捷硬盘无法访问数据的情况,这一情况往往是因为希捷硬盘译码表出现了故障,导致无法访问希捷硬盘数据区的问题,影响案件的侦破速度。针对这一问题,研究一种专业技术快速有效解决希捷P表缺陷错误导致无法访问数据区的问题,对于电子取证非常重要。
对于此,数据恢复四川省重点实验室科研人员深入研究,探索出一种新方法,接下来文章通过基础概念普及引出这种新方法的使用方法。
希捷硬盘主要由电路板、盘片、磁头三部分构成。电路板上的主要引导信息记录在非失易性存储上,“非失易性”是指断电后仍能保存数据,而非失易性存储其实就是指电路板(PCB,Printed Circuit Board)上8位串行存取的Flash ROM芯片。这些数据非常重要,在希捷硬盘的ROM中存储了该硬盘的磁头数量、固件区起始地址、读写适配参数、容量适配参数、伺服适配参数等重要信息,它位于硬盘电路板上。
希捷硬盘的适配参数重要信息除了存储在ROM中(见图2),在磁盘固件区也存放了它的备份。当然,希捷硬盘的固件主要存储在硬盘盘片上。
【图2 红色方框为希捷Barracuda和Desktop HDD的ROM芯片】
缺陷列表实际上是登记硬盘上存在缺陷的区域位置和大小的一张表。在硬盘管理系统中,它通常是一个文本文件。用户可以用专业编辑软件对它进行修改。通过该文件,我们可以了解硬盘上哪些区域存在缺陷,缺陷区域的大小。在硬盘低级格式化过程完成后,硬盘管理系统会根据缺陷列表的内容,自动将存在缺陷的区域作出特殊标记,避免数据读写错误。
1、P表
P表又称为永久缺陷列表,用于记录硬盘生产过程中产生的缺陷。厂家使用专门的测试设备发现的缺陷是磁介质寿命完成之后产生的永久缺陷,只能使用特别的设备来增加它,一般没有必要去动它。具体介绍可参见《技术实战》栏目“硬盘开盘第3期”的概念介绍。
加入P表不会影响硬盘的读写性能,这要从硬盘的扇区结构进行分析。因为硬盘的全部扇区可以划分为固件区、工作区和保留扇区,其中固件区和保留扇区普通用户无法直接进行操作。
其实硬盘的实际扇区数比我们看到的硬盘标签上标定的要大,其中一部份用于存储硬盘的固件;一部分是用户存储数据的区域,即工作区,也就是硬盘标定容量的扇区;剩下的就是保留区,实际上硬盘上并不会物理结构上划出一个保留区域,只是在工厂生产时标定了全部的有效扇区,而硬盘的容量是小于其实际扇区总数的,在固件里定义了硬盘的容量,超过硬盘容量的那些扇区我们就称为保留扇区,如图3所示。
【图3 硬盘扇区结构】
缺陷扇区被加入P表后,硬盘不会再读写该扇区,而是将原读写该扇区的操作顺延到读写坏扇区的下一个扇区,该扇区以后的所有扇区的LBA值都发生了改变,原来保留扇区的一个扇区成为了硬盘的LBAmax,如图4所示。所以坏道被加入P表后,硬盘需要进行一次厂家低格。
【图4 缺陷加入P表后的扇区结构】
2、G表
G表又称为增长缺陷列表,用于记录硬盘使用过程中由于磁介质性能变弱而引起的缺陷。这些缺陷可以在格式化的过程中发现,也可以由固件自动格式过程或者REASSIGN BLOCK命令做重新分配的过程中发现。
缺陷扇区被加入G表后,当硬盘需要读该扇区时,会被重定位到保留扇区中的一个扇区,硬盘工作区的其它扇区不会受影响,如图5所示。
【图5 缺陷加入G表后的扇区结构】
由于保留扇区在硬盘的内道,读写速度慢,同时由于该扇区会导致硬盘的数据存储从物理上来说不连续了,当磁头读取该扇区的数据时需要移动较远的距离,代替坏扇区后,该LBA的读写速度会慢一些,所以我们说缺陷扇区加入G表后会影响硬盘的读写速度。
希捷硬盘的P表,我们也俗称为原始的主要缺陷表。硬盘在出厂时,就已经将有缺陷的位置记录在了这个原始的列表里面。下面我们来看一看:
1、P表的结构
希捷硬盘,每个家族和代数不一样,它们的P表数据体偏移位置也不一样。
主要有11代 、12代和其他特殊代数的硬盘。
其中以12代为例:数据体偏移位置为0x19400 、0x4C800 、0xCA00 这几个偏移地址。
图6中第二个红色方框,就是P表条目数。条目数的位置一般存在4字节偏移,也有2字节偏移记录P表缺陷条目数的。
2、数据体中的P表的条目解析
图7中蓝色选中部分就是P表一个缺陷条目的内容:条目的头部2字节,0x05BB 表示逻辑柱面,条目的最后一个字节是条目的标识符,0x80、0x88表示该条目属于正常常规缺陷条目记录。
在认识了希捷硬盘的结构、缺陷表、P表结构后,就可以开始着手操作本方法,即重塑正确的P表条目,从而重新建立新的译码表,具体如下:
图8中蓝色选中部分是P表的一个缺陷条目,这个条目的最后一个字节为0x0C,不属于正常常规缺陷条目记录。所以,我们尝试将该缺陷条目从此P表文件记录中删去,然后重新对P表进行校验,再写入硬盘,并以修改后的P表进行硬盘的译码表重建。
影响希捷无法访问数据区数据的几点因素
希捷硬盘不能访问的主要有2点因素:第一,P表的缺陷条目被修改过,也就是说不是原始的主要缺陷表;第二,SMART表、G表也出现损坏,导致编译器离线,译码表不正确。总之,最终造成硬盘不能访问正确的数据区数据,或者造成前好后坏的故障。此时,就可通过本文介绍的方法进行尝试。
编后语:数据恢复四川省重点实验室科研人员通过利用编辑P表错误缺陷条目,以达到重建正确的译码表目的。这种方法能够有效解决希捷硬盘无法访问数据的问题,在为公检法、科研、企业、个人等客户提供电子取证、司法鉴定、数据恢复等服务中,效率源技术人员已使用该方法进行研判,简单、有效。目前,该方法正在集成到DRS数据恢复系统、HD Doctor硬盘固件专修等电子取证数据恢复设备中,有兴趣的技术人员欢迎一同探讨。
1、【技术视界】第1期:手机取证-手机音频文件恢复提取技术研究
2、【技术视界】第2期:精确读取 提高缺陷硬盘数据恢复成功率
5、【技术视界】第5期:电子取证——智能手机定位痕迹如何快速提取?
6、【技术视界】第6期:电子取证——日立硬盘BIOS加密无法访问的快速解密方法技术研究
7、【技术视界】第7期:手机取证-SQLite数据库文件恢复提取技术研究
9、【技术视界】第9期:视频侦查——不转码直接检索监控视频的方法探讨
10、【技术视界】第10期:电子取证— RAID 5、RAID 6崩溃的数据恢复取证提取技术研究
11、【技术视界】第11期:教你怎么编写智能手机APP的取证脚本
12、【技术视界】第12期:电子取证反向思维 防御手机APP偷窃破案机密的2个高招